The present invention relates to the field of data processing and communications, and more particularly to a system and method for prefetching data.
Data transmission over a network using an Asynchronous Transfer Mode (ATM) protocol involves transmitting individual data cells that have an information field and a header field. The header field includes a virtual path identifier (VPI) and a virtual channel identifier (VCI) that, together, define a virtual channel connection (VCC) between two ATM endpoints. Data cells originating from the same virtual channel address (VCA) may exhibit an irregular recurrence pattern of physical transmission on a network, as cells are transmitted according to their actual demand. As a result, data cells transmitted from an ATM endpoint to a network interface are often individually transmitted. This involves transmitting overhead associated with each data cell across the bus, resulting in an inefficient data transmission. Furthermore, the interface bus allocates bandwidth over which the data cells are transmitted based upon availability, so that if the bandwidth is not used it is lost. Transmitting individual data cells fails to optimize the use of allocated bandwidth resulting in an inefficient data transmission across the interface bus.
In accordance with the present invention, a system and method for prefetching data is provided that substantially eliminates or reduces disadvantages and problems associated with previous data transmission systems.
In one embodiment of the present invention, a transmission circuit for transmitting data from a host to a remote includes a plurality of memory queues, and a memory controller operable to prefetch a burst of data cells from the host, wherein a first data cell of the burst is transmitted by the memory controller to the remote and the remainder of the data cells of the burst are stored in the plurality of memory queues for later transmission to the remote.
Technical advantages of the present invention relate to a data communication system having the ability to efficiently and economically transfer ATM data cells from an ATM endpoint to an ATM network. More particular technical advantages include a data communication system that prioritizes the transmission of ATM data cells from an ATM endpoint to an ATM network based on demand by dynamically allocating portions of memory associated with the ATM endpoint to queue data cells originating from a common and frequently recurring VCA at the ATM endpoint.
The technique of dynamically allocating memory allows the system to prefetch data cells across an interface bus associated with the ATM endpoint in a burst prior to transmission to the ATM network. The prefetched cells are stored in queues that can be transmitted directly to the network and without the need to acquire bandwidth from the interface bus, eliminating a potential source of delay in endpoint to network data communication.
Prefetching data for frequently accessed VCAs also reduces the number of individual cell transfers across the interface bus. Transmitting data cells across the interface bus in a burst rather than individually reduces the amount of transmitted overhead information and optimizes the use of allocated bandwidth for the interface bus, resulting in a faster, more efficient transmission of data cells from the ATM endpoint to the ATM network.
The selective use of memory queues for these frequent VCAs also limits the allocation of memory required to support the vast number of potential VCAs at the particular ATM endpoint. dr
For a more complete understanding of the present invention and its advantages, reference is how made to the following description taken in conjunction with the accompanying drawings, in which like reference numbers indicate like features and wherein:
FIG. 1 illustrates a block diagram of a data transmission system in accordance with the present invention;
FIG. 2 illustrates one embodiment of a memory queue of the system;
FIG. 3 illustrates a flow chart of a method for prefetching data across an interface bus in accordance with the present invention;
FIG. 4 illustrates a flow chart of a method for transmitting data from an endpoint to a network in accordance with the present invention; and
FIG. 5 illustrates a flow chart of a method for allocating memory queues to virtual channels based on the teachings of the present invention.